home *** CD-ROM | disk | FTP | other *** search
/ Workbench Design / WB Collection.iso / workbench werkzeuge / scherz programme / pointereyesv4.3&3.11 / docs / pointereyes.guide (.txt) next >
Amigaguide Document  |  1996-04-07  |  34KB  |  629 lines

  1. @database PointerEyes.guide
  2. @$VER: PointerEyes.guide 4.3 (14.11.95)
  3. @Author John Hughes
  4. @(c) 1995 John Hughes.  All Rights Reserved.
  5. @Node Main "PointerEyes"
  6.                        @{b}Pointer Eyes 4.3@{ub}
  7.                        November 14, 1995
  8.                         by: John Hughes
  9.                  johughes@heartland.bradley.edu
  10.     Pointer Eyes 
  11.  1995 John Hughes.  All Rights Reserved.@{ub}
  12.   @{" Author & Tech        " Link "AUTHOR"    }   About the author and compiler.
  13.   @{" PostcardWare         " Link "CONTRIBUTIONS"}   This is Postcardware.
  14.   @{" Synopsis             " Link "SYNOPSIS"  }   How to use Pointer Eyes.
  15.   @{" Features             " Link "FEATURES"  }   Features of Pointer Eyes.
  16.   @{" Archive Contents     " Link "CONTENTS"  }   What the files are.
  17.   @{" Image files          " Link "IMAGEFILES"}   How to edit/add the image files
  18.   @{" Screennotify.library " Link "SCREENNOT" }   About screennotify.library.
  19.   @{" Quiting Pointer Eyes " Link "QUITING"   }   How to quit the program.
  20.   @{" Tooltypes            " Link "TOOLTYPES" }   Description of tooltypes.
  21.   @{" Defaults             " Link "DEFAULTS"  }   Default settings.
  22.   @{" Source Code          " Link "SOURCECODE"}   About the supplied source code.
  23.   @{" To Do                " Link "TODO"      }   Future modifications to Pointer Eyes.
  24.   @{" Bugs                 " Link "BUGS"      }   Bugs in Pointer Eyes.
  25.   @{" History              " Link "HISTORY"   }   Previous versions.
  26. @EndNode
  27. @Node "AUTHOR" "Author & Tech"
  28.                              @{b}About the author
  29.                             and other tid-bits.@{ub}
  30.   Program:        PointerEyes
  31.   Version:        4.3 and 3.11
  32.   Date:           November 14, 1995
  33.   Coded by:       John Hughes
  34.   Email:          johughes@heartland.bradley.edu
  35.   WWW:            http://rhf.bradley.edu/~jhughes/
  36.   Compiled with:  SAS/C 6.55
  37.   Machine:        A4000 68EC030/25  AmigaDOS 3.1
  38.   Required:       PointerEyes3.11 : AmigaDos 2.0 or greater
  39.                   PointerEyes4.3 : AmigaDOS 3.0 or above
  40.                   screennotify.library 1.0 (included)(optional on v4.x)
  41.                   MagicWB is also recommended
  42.   @{"Send me a postcard" Link "CONTRIBUTIONS"}.
  43.   Beta Testers:   Very special thanks go to all the people on
  44.                   the #amiga channel on IRC who helped out
  45.                   with the beta testing and those who kept
  46.                   leaving me mail with suggestions and testing
  47.                   results.
  48.   Distribution:   Pointer Eyes V4.3 and V3.11 are Postcardware.
  49.                   As long as all of the archive stays intact and
  50.                   unmodified, Pointer Eyes may be distributed
  51.                   anywhere.
  52.   I have released:   WBMakeLink   -  Menu in WB tools menu which makes links
  53.                                      to files and drawers, and makes an icon
  54.                                      for them.
  55. @EndNode
  56. @EndNode
  57. @Node "CONTRIBUTIONS" "Contributions"
  58.                                 @{b}Postcardware@{ub}
  59.   PointerEyes is @{i}Post Cardware@{ui}.
  60.   If you use PointerEyes, please send me a post card of your
  61.   country or city.
  62.   Of course I will take any type of donations.
  63.   @{i}Send to:@{ui}
  64.     John Hughes
  65.     901 Highview Rd.
  66.     East Peoria, IL 61611 USA
  67.   @{i}And even if you don't use PointerEyes, or don't like it, please
  68.   send me EMail telling me why.  Thanks.  :)@{ui}
  69. @EndNode
  70. @Node "INSTALL" "Installation Instructions"
  71.   @{b}INSTALLATION:@{ub}
  72.     @{i}It's SIMPLE!@{ui}
  73.     1) If you have AmigaDos 2.0 or 2.1, open the PointerEyes3.11 drawer.
  74.        If you have AmigaDos 3.0 or greater, open the PointerEyes4.3 drawer.
  75.     2) Just double click on the "Install" icon.
  76.     1) Just drop it in your WBStartup directory or anywhere else you want.
  77.        The settings for Pointer Eyes are stored in it's Workbench icon.
  78.     2) Copy the PointerEyesImages directory to anywhere, I suggest you move it
  79.        to the same place as the PointerEyes executable.
  80.     3) Make sure the EYESPICTUREFILE tooltype in the PointerEyes icon contains
  81.        the full path and base name of the eye images to use.  The default is
  82.        PROGDIR:PointerEyesImages/OriginalEyes.
  83.     4) Copy libs/screennotify.library to LIBS:
  84. @EndNode
  85. @Node "SYNOPSIS" "Synopsis"
  86.   @{b}What is Pointer Eyes?@{ub}
  87.     PointerEyes places a pair of eyes on the title bar of the public
  88.     screen of your choice.  The eyes will look at your pointer as you
  89.     move it around the screen,  periodically blinking, rolling, or
  90.     going to sleep when you don't move the mouse for a while.  It
  91.     will also monitor all screens which it appears on and will close
  92.     it's window if that screen is about to close, including Workbench,
  93.     so that system preferences can be modified without the hassle of
  94.     manually closing the eyes' window.  You can also have the eyes
  95.     follow you and jump from public screen to public screen.
  96.   @{b}Why use Pointer Eyes?@{ub}
  97.     o It's small.
  98.     o It stays out of the way by staying on the title bar and can stay
  99.       behind, in front, or float in the other window layers.
  100.     o It enhances the appearance of any public screen.
  101.     o If it is on the workbench screen, you don't have to quit Pointer
  102.       Eyes everytime you change any system preferences so that the
  103.       workbench screen will close.
  104. @EndNode
  105. @Node "CONTENTS" "Archive Contents"
  106.                              @{b}Archive Contents@{ub}
  107. Directory "Sebastian:PointerEyesV4.3&3.11" on Tuesday 14-Nov-95
  108. v1.1.source.info            1238 ----rw-d 01-Nov-95 23:32:48
  109. libs.info                   1238 ----rw-d 01-Nov-95 23:32:48
  110. Docs.info                   1238 ----rw-d 01-Nov-95 23:32:48
  111. libs                         Dir ----rwed 01-Nov-95 23:32:50
  112. v1.1.source                  Dir ----rwed 01-Nov-95 23:32:50
  113. Docs                         Dir ----rwed 01-Nov-95 23:32:51
  114. PointerEyes4.3               Dir ----rwed 01-Nov-95 23:32:49
  115. PointerEyes4.3.info         1238 ----rw-d 01-Nov-95 23:32:48
  116. PointerEyes3.11              Dir ----rwed 01-Nov-95 23:32:50
  117. PointerEyes3.11.info        1238 ----rw-d 01-Nov-95 23:32:48
  118. 5 files - 5 directories - 30 blocks used
  119. Directory "Sebastian:PointerEyesV4.3&3.11/libs" on Tuesday 14-Nov-95
  120. screennotify.library        2608 ----rwed 01-Nov-95 23:32:50
  121. 1 file - 7 blocks used
  122. Directory "Sebastian:PointerEyesV4.3&3.11/v1.1.source" on Tuesday 14-Nov-95
  123. SCoptions.info              2954 ----rwed 01-Nov-95 23:32:50
  124. PointerEyesV1.1.c.info       486 ----rwed 01-Nov-95 23:32:50
  125. PointerEyes.Images.info      509 ----rwed 01-Nov-95 23:32:50
  126. Makefile.gcc.info            509 ----rwed 01-Nov-95 23:32:50
  127. SCoptions                    146 ----rwed 01-Nov-95 23:32:50
  128. PointerEyesV1.1.c          15981 ----rwed 01-Nov-95 23:32:50
  129. PointerEyes.Images          8092 ----rwed 01-Nov-95 23:32:50
  130. Makefile.gcc                 295 ----rwed 01-Nov-95 23:32:50
  131. 8 files - 67 blocks used
  132. Directory "Sebastian:PointerEyesV4.3&3.11/Docs" on Tuesday 14-Nov-95
  133. PointerEyes.guide.info      2084 ----rw-d 01-Nov-95 23:32:51
  134. PointerEyes.guide          33763 ----rwed Today     22:56:45
  135. 2 files - 73 blocks used
  136. Directory "Sebastian:PointerEyesV4.3&3.11/PointerEyes4.3" on Tuesday 14-Nov-95
  137. PointerEyesImages.info      1233 ----rw-d 01-Nov-95 23:32:48
  138. PointerEyes.info            2227 ----rw-d Today     22:49:50
  139. PointerEyes.icon2.info      1926 ----rw-d 01-Nov-95 23:32:48
  140. Install.info                1932 ----rw-d 01-Nov-95 23:32:48
  141. PointerEyesImages            Dir ----rwed 01-Nov-95 23:32:49
  142. PointerEyes                21444 ----rwed Today     22:48:39
  143. Install                     3099 ----rwed Today     22:40:02
  144. 6 files - 1 directory - 73 blocks used
  145. Directory "Sebastian:PointerEyesV4.3&3.11/PointerEyes4.3/PointerEyesImages" on Tuesday 14-Nov-95
  146. OriginalEyes.11             1284 ----rw-d 01-Nov-95 23:32:48
  147. DiamondEyes.11              2500 ----rw-d 01-Nov-95 23:32:48
  148. RedYellowEyes.11            4956 ----rw-d 01-Nov-95 23:32:48
  149. OriginalEyes.8               954 ----rw-d 01-Nov-95 23:32:48
  150. ShadedEyes.13               5818 ----rw-d 01-Nov-95 23:32:48
  151. OriginalEyes.13             1504 ----rw-d 01-Nov-95 23:32:48
  152. MagicWBEyes.13              3994 ----rw-d 01-Nov-95 23:32:49
  153. MagicWBEyes.8               2452 ----rw-d 01-Nov-95 23:32:49
  154. MagicWBEyes.11              2878 ----rw-d 01-Nov-95 23:32:49
  155. ShadedEyes.8                3636 ----rw-d 01-Nov-95 23:32:49
  156. ShadedEyes.11               4956 ----rw-d 01-Nov-95 23:32:49
  157. 11 files - 83 blocks used
  158. Directory "Sebastian:PointerEyesV4.3&3.11/PointerEyes3.11" on Tuesday 14-Nov-95
  159. Install.info                1932 ----rw-d 01-Nov-95 23:32:49
  160. PointerEyes.info            1840 ----rw-d Today     22:50:18
  161. PointerEyes                21428 ----rwed Today     22:01:55
  162. Install                     1985 ----rwed Today     22:40:40
  163. 4 files - 58 blocks used
  164. TOTAL: 37 files - 6 directories - 391 blocks used
  165.   @{b}Why are two icons supplied?@{ub}
  166.     Use whichever icon you like best.  One was designed to be used
  167.     with MagicWb, and the other is just a four color icon.
  168. @EndNode
  169. @Node "IMAGEFILES" "How to Edit/Add image files"
  170.   @{b}You may add/edit the image files!@{ub}
  171.   So now you can have your own eye image, lets be creative. :)
  172.   The image files are loaded via the datatypes.library,
  173.   so you may save the images in any graphic format, as long
  174.   as you have the datatype files for that format.
  175.   (ie. ILBM, JPEG, GIF, PICT, etc.)
  176.   I recommend saving them as ILBM files for speed efficiency.
  177.   You may have multiple sets of image files in the same directory.
  178.   Image files have a base name, followed by a period (.) and a height.
  179.   For instance, the base name for "OriginalEyes.11" is OriginalEyes,
  180.     and it contains eyes images that are 11 pixels high.
  181.   Each image file must contain 22 pictures lined up vertically.
  182.   There are no size or color restraints, so your images can be any
  183.     height and width, and have any number of colors.
  184.   When PointerEyes loads an image file, it remaps the colors to best
  185.     match those of the current public screen, and if there are any
  186.     free pens on the screen, it may use them.
  187.   IMPORTANT:
  188.     Be sure the EYESPICTUREFILE tooltype points to the directory and
  189.     base image filename to use.
  190.     ( Ex. PROGDIR:PointerEyesImages/OriginalEyes )
  191. @EndNode
  192. @Node "SCREENNOT" "About screennotify.library"
  193.   screennotify.library 
  194.  1995 Stefan Becker
  195.   Screennotify.library patches some OS functions and allows programs to
  196.   be notified when screens are about to be closed, therefore letting
  197.   tasks close their windows on public screens which are going to be closed.
  198.   This feature SHOULD have been emplemented in AmigaDos 2.0, but when have we
  199.   known C= to do things that their customers liked? (sarcasm)
  200.   screennotify.library may not be distributed without permission from
  201.   Stefan Becker ... stefanb@yello.ping.de
  202.   Thanks go to Stefan Becker for allowing me to include the library with
  203.   the distribution of Pointer Eyes.
  204.   @{i}screennotify.library can be found on aminet as util/libs/ScreenNotify10.lha
  205.   and contains info for programmers.@{ui}
  206. @EndNode
  207. @Node "PREFSWINDOW" "Preferences Window"
  208.                           @{b}Preferences Window@{ub}
  209.          In order to use the Preferences Menu option, You must have
  210.          AmigaDos 3.0 or greater.  All this does is opens the workbench
  211.          tooltypes window for the Pointer Eyes icon.
  212.          If you have at least AmigaDos 2.0 or greater, you may at any
  213.          time modify the PointerEyes tooltypes from WorkBench.  The
  214.          icon is monitored so when changes are saved, Pointer Eyes will
  215.          load the new settings.
  216.          @{i}For more information, see @{" Tooltypes " Link "TOOLTYPES"}.@{ui}
  217. @EndNode
  218. @Node "TOOLTYPES" "Tooltypes"
  219.                      @{b}Description of the icon tooltypes@{ub}
  220.   The following are the tooltypes in which Pointer Eyes gets its settings
  221.   from when it is started.
  222.   The tooltypes can be marked out so that they are not defined by placing
  223.   parenthesis around the keyword.  For example (LOCKED).
  224. LOCKED
  225.     If this tooltype exists, the Pointer Eyes window will not be
  226.     dragable, and it will always remain behind all other windows
  227.     on the public screen.
  228. BACKPEN=
  229.     (not supported in version 4.x yet)
  230.     A pen # or AUTO.
  231.     This is the pen number of the background color.
  232.     If it is set to AUTO, the background color will match the title bar's color.
  233. EYEPEN=
  234.     (not supported in version 4.x yet)
  235.     A pen # or AUTO.
  236.     This is the pen number of the eye color.
  237.     If it is set to AUTO, the eye color will match the title bar's text color.
  238. FOLLOWSCREEN=
  239.     The eyes can jump to the frontmost screen if it is public,
  240.     the current active screen if it is public, or the eyes can
  241.     sit still on their current public screen and go nowhere.
  242.     Options are:  FALSE, FRONTMOSTSCREEN, and ACTIVESCREEN
  243. WINDOWLAYER=
  244.     The eyes can stay above all windows on the screen, behind all
  245.     windows on the screen, or float at any level.
  246.     Options are:  FLOAT, BACK, FRONT
  247. XCOORD=
  248.     This is the horizontal position of the window on the screen in
  249.     pixels.
  250. YCOORD=
  251.     This should be either CENTERINTITLE or a numerical value.
  252.     If it is CENTERINTITLE, the Pointer Eyes window will be
  253.     centered vertically within the title bar, otherwise the
  254.     numerical value is used as the vertical position of the
  255.     window on the screen in pixels.
  256. EYESIZE=
  257.     This is the size of eyes to use.
  258.     Options are:  AUTO, SMALL, or BIG.
  259.     The small eyes are 8 pixels high and the big eyes are 11 pixels
  260.     high.  If set to AUTO, the size of the titlebar will be checked.
  261. PUBLICSCREEN=
  262.     Enter the public screen name in which you want Pointer Eyes to
  263.     appear on.  The default is the Workbench screen.
  264.     Ex.  PUBLICSCREEN=Workbench
  265.     If Pointer Eyes is not able to open a window on the public screen
  266.     specified, it will default to the Workbench Screen.
  267. INDEPENDENTEYES=
  268.     If this tooltype exists, the eyes will both move independently from
  269.     each other.  The default is to move dependently.
  270. MICROSECUPDATE=
  271.     The number of microseconds which should pass before the eyes should be
  272.     updated.  The default is 70000, .07 seconds.
  273. SLEEPDELAY=
  274.     The number of seconds of no mouse movement which will cause the eyes
  275.     to go to sleep.
  276.     Default: 15
  277. EYESPICTUREFILE=
  278.     The base name of the series of picture files to use.
  279.     Default:  OriginalEyes
  280. USESCREENNOTIFY=
  281.     Specifies whether or not to use screennotify.library.
  282.     Default: TRUE
  283. @EndNode
  284. @Node "DEFAULTS" "Default Settings"
  285.                              @{b}Default Settings@{ub}
  286. Follow Frontmost Screen
  287. Automatic Eye Size
  288. Eyes are Always behind other Windows
  289. Center Eyes in Titlebar
  290. Window is not locked in its position
  291. Horizontal Position is 450 pixels
  292. Update eyes every 70000 microseconds (.07 seconds)
  293. Eyes go to sleep every 15 seconds.
  294. EyesImages: PROGDIR:PointerEyesImages/MagicWBEyes
  295. Do use screennotify.library
  296. @EndNode
  297. @Node "FEATURES" "Features"
  298.                            @{b}Pointer Eyes Features@{ub}
  299.   o All settings are saved and loaded from the icon @{" Tooltypes " Link "TOOLTYPES"}.
  300.   o The background color and eye color are automatic allowing it to look
  301.     as though the eyes are attached to the screen's title bar or you
  302.     can choose it's colors.   (not supported in version 4.x yet)
  303.   o The eyes can be auto-centered on the title bar or be located
  304.     anywhere on the screen.
  305.   o The eyes can be any size and have any number of colors. (version 4.0+ only)
  306.     There are two eye sizes (8 and 11 pixels tall).  (version 3.10)
  307.     You may choose between the sizes, or let the program determine which
  308.     best fits your public screen title bar.
  309.   o You can choose the public screen in which Pointer Eyes appears on.
  310.   o If the mouse isn't moved for a while, the eyes will go to sleep, and
  311.      periodicaly peek out at you.
  312.   o The eyes will blink at random intervals.
  313.   o The eyes are rolled periodically.
  314.   o Allowings the WB screen to be closed/reopened if system preferences are
  315.     changed, or for any other reason.
  316.   o Monitors screens using screennotify.library, so that public screens can
  317.     safely be closed when the eyes are on that screen.
  318.   o You can lock the window in place so you don't accidentlly grab it.
  319.   o The eyes can stay behind, in front of all windows, or just float.
  320.   o The eyes can follow you around to the front most or active
  321.     public screen.
  322.   o It's a Commodity.
  323.   o Low task priority of -2, so it doesn't get in the way of other tasks.
  324.   o datatypes.library support.  (Version 4.0+ only)
  325.   o User defined eye images.. Make your own eyes!!! :)
  326.   o Small code.
  327. @EndNode
  328. @Node "QUITING" "How to quit Pointer Eyes"
  329.                          @{b}How to Quit Pointer Eyes@{ub}
  330.   Three ways:
  331.   1.  Click on the eyes with the left mouse button.
  332.       Select Quit from the pulldown menu.
  333.   2.  Send Pointer Eyes a CTRL-C.
  334.   3.  From the Commodities Exchange program, select
  335.       Pointer Eyes in the listview, and click on the
  336.       Remove gadget.
  337. @EndNode
  338. @Node "TODO" "Things to do in the future"
  339.                      @{b}Things to do in the future@{ub}
  340.   Move to California and work in a CGI film effects studio. Any offers? :)
  341.   @{i}If you have any suggestions or coments about Pointer Eyes,
  342.   please send them to: johughes@heartland.bradley.edu@{ui}
  343. @EndNode
  344. @Node "SOURCECODE" "Source Code"
  345.                                 @{b}Source Code@{ub}
  346.   I am including the source code for version 1.1 of Pointer Eyes
  347.   with this program to encourage people to write and release programs
  348.   for Amiga computers.  As all programmers should know, there is no one
  349.   way to write a program, so if you are a beginning programmer, do not
  350.   think that this source code demonstrates the proper way of making this
  351.   program work.  It is simply one alternative way.  There are always
  352.   better ways of doing things.
  353.   @{i}You may not distribute the source code or any binary
  354.   compiled from the source code if it is altered.@{ui}  However, all you
  355.   have to do is send the modifed code to me, tell me what you changed,
  356.   and I will add it to my most recent version of Pointer Eyes.  @{i}You will
  357.   receive full credit in the documentation for any modifications which
  358.   are used.@{ui}  This is to spare people from confusion of which
  359.   Pointer Eyes is the newest and which one contains the most/best
  360.   modifications.
  361.   @{b}Why not include the current version of the source code?@{ub}
  362.     There are several reasons.  It only took me a few days to write
  363.     the code for the first version.  Yet, this version has taken me
  364.     several weeks to complete.  In order to keep the size of the
  365.     final binary code to a minimum, I almost completely rewrote the
  366.     program and optimized it.  This means that the code is much more
  367.     complicated than the first version.  The main reason for including
  368.     the source code is to show how simple it can be to program the
  369.     Amiga, and to encourage people to write programs for it.  This
  370.     version of the source code would probably scare many people away
  371.     unless they knew alot about Amiga programming.
  372.   @{b}What can I use to compile the source code?@{ub}
  373.     The source code was written in C using @{" SAS/C 6.51 " Link "SASC"}.
  374.     However I gave the source code to friend, Gunther Nikl, who
  375.     uses @{" GCC " Link "GCC"} and he added support to the source code so that it
  376.     would be compilable using GCC.  This was added because SAS/C
  377.     is an expensive compiler and many people have chosen to use GCC.
  378.     The source may also be compilable with @{" DICE C " Link "DICEC"} , although this has
  379.     not been extensively tested.
  380. @EndNode
  381. @Node "SASC" "SAS/C Compiler"
  382.              @{b}Using SAS/C to compile Pointer Eyes v1.1@{ub}
  383.   SAS/C 6.00 should be able to compile this source code just fine,
  384.   however this has not been tested.
  385.   To compile with SAS/C:
  386.     1.  Have SAS/C installed on your Amiga.
  387.     2.  Copy SCoptions, PointerEyesV1.1.c, PointerEyes.Images and
  388.         their icons into an empty directory.
  389.     3.  Put at least the "Build" icon into the same directory.
  390.     4.  Double click the new "Build" icon.
  391.         This will read the SCoptions file to see how to compile
  392.         the source code and then the compiling will begin.
  393.         When the compiling is complete, the executable will
  394.         be created in the same directory.
  395.     5.  A warning will occur.  This is because I have placed an
  396.         image in the Pointer Eyes menu instead of text on the 2nd
  397.         line.  The compiler is expecting a type of (unsigned char *),
  398.         but gets an (struct Image *).  This is NO BIG DEAL and is
  399.         fine.
  400. @EndNode
  401. @Node "GCC" "GCC Compiler"
  402.              @{b}Using GCC to compile Pointer Eyes v1.1@{ub}
  403.   The gcc package can be found on Aminet or in the distribution
  404.   of gcc2.6.  Currently gcc is not able to place data in chip memory
  405.   with a "__chip" command but the linker of v2.6 can force the whole
  406.   data section into chip memory. You can also use a utility such as
  407.   PowerPacker to force the data section into chip memory.
  408.   Note: If you want to compile the program with small-data you
  409.         need gcc2.3.3 because all later versions have problems
  410.         with small-data, but large data works fine.
  411.   @{i}Thanks go to Gunther Nikl for adding GCC compatibility to the 
  412.   source code.@{ui}
  413. @EndNode
  414. @Node "DICEC" "DICE C"
  415.               @{b}Using DICE C to compile Pointer Eyes v1.1@{ub}
  416.   To get Pointer Eyes v1.1 to compile in DICE C, a change to the source
  417.   code was made.  This change was due to the fact that DICE C wants
  418.   the __chip keyword before the UWORD, whereas @{" SAS/C " Link "SASC"} wants it after
  419.   the UWORD, and @{" GCC " Link "GCC"} doesn't even except the __chip.
  420.   DICE C:  __chip UWORD Crosseddata[] = { ... };
  421.   SAS/C:   UWORD __chip Crosseddata[] = { ... };
  422.   GCC:     UWORD Crosseddata[] = { ... };
  423.            Since __chip isn't accepted, the whole data segment must be
  424.            placed in chip memory.
  425. @EndNode
  426. @Node "BUGS" "Bugs"
  427.                         @{b}Bugs@{ub}
  428.   Thanks go out to all those who reported bugs to me.
  429.   I haven't found any bugs yet, however no program is bug free.
  430.   Please keep me informed of any bugs that you find.
  431.   E-Mail:  johughes@heartland.bradley.edu
  432. @EndNode
  433. @Node "HISTORY" "History"
  434.                                   @{b}History@{ub}
  435.   I think that the concept of having a pair of eyes on the screen was
  436.   first introduced on the Macintosh.  However I am not sure about this.
  437.   Another possibility is unix XWindows.
  438.   PointerEyes was inspired by a program called FollowMouse by
  439.   Kamran Karimi, which I believe was written in 1991.  But since that
  440.   was an old program, it was not suited for AmigaDOS 2.04 or greater.
  441.   It also contained many features that I found to be unpleasant.
  442.   I believe that all of this has been taken care of in my version of the
  443.   program.  I wanted Pointer Eyes to be much more transparent to the
  444.   user, therefore, the eyes can be automatically placed centered
  445.   vertically in the public screen's title bar, with it's background
  446.   color being the same as the title bar.  Also, if Pointer Eyes is on
  447.   the Workbench screen and the user decides to change any system
  448.   preferences which need to close the Workbench screen and reopen it,
  449.   PointerEyes will temporarily close it's window automatically.
  450. v1.0 July 7, 1994
  451.      First Version.  This was written in just a few days.
  452. v1.1 July 12, 1994
  453.      /* This version is released as @{" source code " Link "SOURCECODE"} with all versions since v2.0 */
  454.      Minor Bug:  Added CTRL-C detection.  Bug found by Gunther Nikl.
  455.      Minor Bug:  Forgot to set the Priority back to its original value.
  456.        before exiting.  Bug found by Gunther Nikl.
  457.      Minor Bug:  Added newlook menus for dos3.0.Bug found by Gunther Nikl.
  458. v2.0 August 7, 1994
  459.      Now runs correctly under AmigaDos 2.04.
  460.      Added ability to save and load setting to your icon @{" Tooltypes " Link "TOOLTYPES"}.
  461.      Added "Reset to Defaults","Last Saved","Center in Title Bar",
  462.        "Auto Background","Background Color","Auto Eye Color","Eye Color",
  463.      "Eye Size" Menus.
  464.      Reduced CPU load.
  465.      Major Bug:  Pointer Eyes will now correctly figure out what pen #'s
  466.        to use for the colors.  Or the user can define them manually.
  467.        Bug first noticed by Ludwig Kamphenkel.
  468.      The eyes are now outlines instead of solid.
  469.      There are now small eyes for small title bar fonts, and larger
  470.      better looking eyes for bigger title bar fonts.
  471.      Minor Bug:  Forgot to set the Priority back to its original value.
  472.        before exiting.  Bug found by Gunther Nikl
  473.      Minor Bug:  Added CTRL-C detection.  Bug found by Gunther Nikl.
  474.      Minor Bug:  Added newlook menus for dos3.0.Bug found by Gunther Nikl.
  475.      Added more images for the eyes for smoother eye movement.
  476.      Major Bug:  Now makes sure it checks the WB screens title bar font
  477.        instead of just the default public screen's.
  478.      Added ability to put Pointer Eyes on any public screen.
  479.      Included AmigaGuide format documentation. Proofread by Micheal Hatch.
  480. v2.1 August 22, 1994
  481.      Major Bug:  Pen numbers are now loaded correctly for the @{" tooltypes " Link "TOOLTYPES"}.
  482.        Bug found by J. G. Brandon.
  483.      $VER string was corrected.
  484.      Compiled the code using register parameters.
  485. v3.0 October 17, 1994
  486.      The eyes now will jump to no other screen, the front most public
  487.        screen, or the current active public screen.
  488.      The eyes will stay behind, in front, or just float in the
  489.        window layers.
  490.      Added @{" tooltype " Link "TOOLTYPES"} FOLLOWSCREEN.
  491.      Added @{" tooltype " Link "TOOLTYPES"} WINDOWLAYER.
  492.      Completely removed the pulldown menus.
  493.      If you have @{" MUI " Link "MUI"}, you can use an @{" MUI " Link "MUI"} preferences window,
  494.        otherwise you must use the tooltypes.
  495.      Eyes follow frontmost screen is now the default.
  496.      This version took about 1 week to write.
  497. v3.1 October 28, 1994
  498.      Separated MUI preferences into a seperate executable.
  499.      Prefs progam can run "in-sync" with PointerEyes program.
  500.        When you select a gadget, the Eyes are immediately altered.
  501.      Added menus to PointerEyes program.
  502.      You can now select any pen # for the colors.  This has
  503.        slowed jumping from screen to screen Because of 8 planes. :(
  504.      Eyes can now move independently from the other.  This was
  505.        requested by many people, however I don't like it, so it
  506.        isn't the default.  :)
  507.      Added @{" tooltype " Link "TOOLTYPES"} INDEPENDENTEYES.
  508.      Online menu help is available.  Press the HELP key when
  509.        highlighting a menu item.
  510.      It is now a Commodity.
  511.      This version was not released. :(
  512. v3.2 February 1, 1995
  513.      Lost source code to seperate MUI preferences file.   :(
  514.      Monitor the PointerEyes icon for tooltype changes.
  515.        Changes will take place when the icon is saved.
  516.      Preferences menu now loads the icon information for Dos 3.0+ users.
  517.      Bug Fix: Sometimes the window was not centered properly.
  518.      Fixed possible lockup when moving window and it wasn't centered properly.
  519.      Now locks IntuitionBase when looking at its structure.
  520.      This version was also not publicly released.
  521. v3.3 March 6, 1995
  522.      I now use Wait() for all signals instead of SetSignals(). This should
  523.        reduce CPU usage at times.
  524.      Because I use Wait(), the timer.device is now used instead of Delay().
  525.      Commented out the source code for the message port which was used for
  526.        the external preferences program which is no longer in existance.
  527.      Bug Fix:  Window was not being centered properly when the eye size changed.
  528.      Bug Fix:  When the eyes jump from screen to screen, AUTOEYESIZE is not
  529.                active, and DONTCENTERINTITLEBAR is active, the window is now
  530.                placed at the same coordinates they were at on the previous
  531.                screen.
  532.      Bug Fix:  It was impossible to drag WB icons when there was more that one
  533.                PointerEyes program running.  This is because each eyes window
  534.                was constantly calling WindowToBack() to be in the back all of
  535.                the time.  This problem still occurs when the user has the eyes
  536.                stay in the foreground though.
  537.      Added @{" tooltype " Link "TOOLTYPES"} MICROSECUPDATE.
  538.      No longer locks IntuitionBase when looking at its structure, since we just
  539.        look at the frontmost or active screen.
  540.      Bug Fix:  Hotkey now toggles whether or not the eyes are displayed.
  541.                Bug found by Simon Stelling.
  542.      Removed AUTOEYESIZE tooltype, and added AUTO as a value for the
  543.        EYESIZE @{" tooltype " Link "TOOLTYPES"}.
  544. v3.4 March 26, 1995
  545.      Eyes now blink when you activate the Eyes window.  Suggested by Martin Axelsson
  546.      Removed AUTOBACKPEN and AUTOEYEPEN tooltypes, and added AUTO as a value for
  547.        the BACKPEN and EYEPEN @{" tooltypes " Link "TOOLTYPES"}.
  548.      Bug Fix:  Tried closing window when the window was already closed when the
  549.                user selected Inactive in the Commodities Exchange program.
  550.                Found by Simon Stelling
  551.      Bug Fix:  The Eyes window was being blanked out when a menu item was
  552.                selected.
  553. v3.5 April 9, 1995
  554.      Bug Fix:  The eyes no longer flicker when the user de/activates the window.
  555.      Removed a stray Delay() that should have already been removed. Therefore I
  556.        set the default Microseconds up to 70000.
  557.      Now uses screennotify.library.  I have neglected to patch any of the system
  558.        functions intentionally all this time.  But screennotify.library seems to
  559.        be relatively stable, and it isn't my fault if it crashes :)  I guess that
  560.        is my justification for using it. :/
  561.      Removed env: notification, since it now uses screennotify.library.
  562.      Bug Fix:  Crashed the computer when 'Inactive' was selected from the Commodities
  563.        Exchange program.  I actually accidentally fixed the bug.
  564.      Bug Fix:  Wouldn't work from CLI.
  565.      Can now be run from CLI and the tooltypes can be used as arguments.
  566.        For example:   dh0:> PointerEyes XCOORD=450 EYESIZE=AUTO
  567.      Removed the CENTERINTITLE tooltype, and added CENTERINTITLE as a value
  568.        for the YCOORD @{" tooltype " Link "TOOLTYPES"}.
  569. v3.6 April 23, 1995
  570.      A requester will now appear if screennotify.library isn't found.
  571.      Bug Fix:  Removed enforcer hits when checking to see if the window is in the back.
  572.      Bug Fix:  YCOORD=6 wouldn't place the eyes on line 6, they would always be centered.
  573.                This is now fixed so the eyes will appear at whereever the line # is.
  574.                Bug found by Simon Stelling.
  575.      Fixed documentation mistake.  The default microseconds is 70000. Found by Simon Stelling.
  576.      Bug Fix:  If the eyes are set to stay on one screen only, they now will open on the
  577.                WB screen when their screen closes, or they will wait for the WB screen to open.
  578.                Bug found by Simon Stelling.
  579. v3.7 May 29, 1995
  580.      Ooops!!!! Something went wrong in the lha'ing of version 3.6 and I still uploaded
  581.      it to aminet.  Sorry. :(
  582. v3.8 June 9, 1995
  583.      Bug Fix: The pulldown menu is now the correct color.
  584.      Bug Fix: Eyes window wasn't being reopened after wb screen close/opened.
  585.      Added @{" tooltype " Link "TOOLTYPES"} EYESPICTUREFILE, which allows the
  586.        user to choose how many seconds of no mouse movement will cause the
  587.        eyes to go to sleep.
  588. v4.0 June 12, 1995
  589.      AmigaDos v3.0 is required because of datatype support and AllocBitMap().
  590.      Datatype support for user defined eye images.
  591.      The eyes can be any size and have any number of colors.
  592.      BltBitMapRastPort() is now used instead of DrawImage().
  593.      Added EYESPICTUREFILE tooltype.
  594.      Installation script now included!
  595.      Eye ILBM files included:
  596.        OriginalEyes   (sizes: 8,11,13)
  597.        ShadedEyes     (sizes: 8,11,13)
  598.        MagicWBEyes    (sizes: 8,11,13)
  599.        RedYellowEyes  (sizes: 11)
  600. v4.1 July 5, 1995
  601.      Major Bug Fix: I didn't ReplyMsg() when OpenWBScreen() was called
  602.        and the WB screen was already opened. Finally!!!
  603.      Typo in documentation.  FOLLOWMOUSE is now FOLLOWSCREEN.
  604.      screennotify.library is now not required, but used if available.
  605.      Added @{" tooltype " Link "TOOLTYPES"} USESCREENNOTIFY, which
  606.        specifies whether or not to use screennotify.library.
  607. v3.9 July 5, 1995
  608.      As with version 4.1:
  609.      Major Bug Fix: I didn't ReplyMsg() when OpenWBScreen() was called
  610.        and the WB screen was already opened. Finally!!!
  611.      This is a bugfix update to version 3.8 which is for AmigaDos 2.0+ users.
  612. v4.2 & v3.10 October 3, 1995
  613.      Postcardware version.
  614.      This version is Postcardware, which basically means that this software is
  615.        public domain, and if you use it please send me a postcard of your country
  616.        or your city.
  617.     Changed the text that the About menu displays.
  618.     Removed hotkey bug. The hotkey string was deallocated after it was found in some cases. (enforcer hit?)
  619. v4.2 & v3.10 RELEASE 2  October 8, 1995
  620.     Fixed a typo in the installer scripts which caused the docs to not be installed.
  621.     Did a few other minor changes in the installation scripts.
  622.     Sorry this release was delayed, due to problems with aminet.
  623. v4.3 & v3.11 November 14, 1995
  624.     Added some more screennotify support.  AddPubScreenClient().
  625.       This should solve the problems with a screen closing in a couple of
  626.       programs such as Term.
  627.     Removed a couple of harmless enforcer hits.  I think they were removed.
  628. @EndNode
  629.